package com.dcy.znoa.service.publiz;

import com.aliyuncs.exceptions.ClientException;
import com.baomidou.mybatisplus.plugins.Page;
import com.dcy.znoa.common.exception.BusinessException;
import com.dcy.znoa.common.util.pojo.JsonCommon;
import com.dcy.znoa.common.util.pojo.JsonForList;
import com.dcy.znoa.controller.publiz.model.messNotice.*;
import com.dcy.znoa.domain.publiz.MessNotice;

import java.lang.reflect.InvocationTargetException;
import java.util.List;

public interface MessNoticeService {

    void insert(MessNotice var1) throws BusinessException, ClientException;

    void updateById(MessNotice var1) throws BusinessException;//修改和逻辑删除都用这个方法实现

    Page<MessNotice> selectList(SelectMessNoticeModel model) throws InvocationTargetException, IllegalAccessException;

    Page<MessNotice> selectUnReadList(SelectByReceiveOperIdModel model);

    Page<MessNotice> selectReadList(SelectByReceiveOperIdModel model);

    void insertBatch(AddMessNoticeListModel model) throws ClientException;

    void updateBatch(UpdateMessNoticeListModel model);//暂时不用
    //返回的是消息表ID mess_id
    Long insertBatchAndMsg(AddMessNoticeListAndMsgModel model) throws InvocationTargetException, IllegalAccessException, BusinessException, ClientException;

//    Integer read(Long messId,String operIds);//以后可能用到的方法，批量置为已读
//
//    Integer read(String messIds,Long operId);//以后可能用到的方法

    Integer read(Long messId,Long operId);
}
